The progress of microelectronics over the last four decades has largely been a result of the semiconductor industry's ability to continuously scale down the transistor, which is the fundamental computing component of modem electronics and computing. This size reduction is, however, unlikely to continue forever. One of the major challenges to continued transistor scaling are leakage currents through the transistor gate. These leakage currents result from quantum mechanical tunneling of electrons from the gate electrode through the gate oxide and into the transistor channel. Such leakage currents are already a significant problem in transistors of the size being fabricated in today's production plants. As transistors continue to shrink, more quantum effects are likely to begin to completely undermine the transistor's effective operation, despite the many different approaches being researched to try and maintain the functionality of transistors at ever smaller scales.
An alternate approach is, instead of continuously fighting to maintain transistor functionality at smaller scales, to devise a device that works on a different principle that lets the device get better rather than worse as feature sizes are reduced. One such novel device is based on a technology called quantum-dot cellular automata (QCA). Originally proposed by Dr. Craig S. Lent at the University of Notre Dame, QCA makes use of the very quantum mechanical effects, such as electron tunneling, that are starting to hinder transistor operation.
QCA is a novel nanoscale computing architecture that attempts to create general computational functionality at the nanoscale by controlling the position of single electrons. The fundamental unit of QCA is the QCA cell, or set of cells each of which is comprised of several quantum dots. FIG. 1 shows a cell 10 created with four quantum dots 12 positioned at the vertices of a square. The bounding box shown around the cell 10 is used only to identify one cell from another and does not represent any physical system. Two of the quantum dots 12 are electron containing dots 14.
These cells 10 can be controlled by clock signals to ignore their environment when relaxing or in a relaxed state, to respond to their environment when they are in the process of locking into a state, and to be independent of their environment, and maintain a given state when they are in a locked state that prevents quantum tunneling. When the cells are responding to their environment, they tend to align in one of two directions, as shown in FIG. 1A and FIG. 1B, and this bistable behavior can be used to encode a binary signal by assigning a “1” to one of the states, such as the state of FIG. 1A and a “0” to the other state, shown in FIG. 1B. A cell also tends to align in the same direction as those cells surrounding it.
By carefully designing the geometric layout of the cells within a device and the clock signals applied to each cell, one can implement any desired combinational or sequential logic function using QCA cells. This fact, along with the very low power consumption and relative ease of device interconnection, makes the QCA system a very attractive nanoscale computing architecture.
A QCA crossbar switch is essentially a massively parallel and customizable QCA wire-crossing network. Several other methods have been suggested in prior art for crossing two independent signals in a QCA system, but each of them has serious weaknesses.
One method involves the use of special cells rotated at a 45-degree angle to the other cells as described in, for instance, the article by P. Douglas Tougaw and Craig S. Lent entitled “Logical devices implemented using quantum cellular-automata,” published in the Journal of Applied Physics, vol. 75, pp. 1818-1825 (1994) published by the American Institute of Physics, Melville, N.Y., the contents of which are hereby incorporated by reference. However, this solution significantly decreases the excitation energy between the correct ground state solution and the incorrect excited state solution, thereby degrading both the dynamic response time of the device and the resistance to errors caused by thermal fluctuations.
Other work has focused on the minimization of the necessity for wire crossings. Brian S. Smith and Sung K. Lim, “QCA Channel Routing with Wire Crossing Minimization,” Great Lakes Symposium on Very Large Scale Integration, Apr. 17-19, 2005, Chicago, Ill., USA. Unfortunately, it is not possible to eliminate all wire crossings for an arbitrary problem, and the effort to minimize them significantly complicates the design of the remainder of the device.
It has also been demonstrated by Craig S. Lent that QCA wire crossings can be treated as a combinational logic problem, such that two signals can be effectively crossed by the effects of two or more stages of digital logic. While this is a fully functional method for crossing two signals, it is not a scalable solution and would require an intractable number of digital logic gates to provide a fixed set of wire crossings for even a small number of input and output signals.